#pragma once
#ifndef skyPict_h__
#define skyPict_h__
#include "./skyAdapter.h"
#ifdef _SYMBIAN
#include "./symbian/symPict.h"
#else
#include "./windows/winPict.h"
#endif
#include "./symbian/symPict.h"
namespace Sky
{
	

	class Pict : public OSPict
	{
		friend class PictManager;
	public:
		Pict();
		~Pict(){};
		StringPtr getName(){return _name;}
		TSize getSize();
	protected:
		StringPtr _name;
	};
	typedef RefPtr<Pict> PictPtr;

	class PictManager : public OSPictManager
	{
	public:
		//typedef fastdelegate::FastDelegate2<MsgStatus, PictManager*, PictPtr*> Callback;
		typedef TBool (*Callback)();
		TBool createPictFromFile(const StringPtr& file,PictPtr& pict,Callback doneCallback = vNull);
		TBool createPictFromBuffer( const BufferPtr& buf,PictPtr& pict,Callback doneCallback );
		//TBool createPictFromBuffer(const BufferPtr& buffer,PictPtr& pict,Callback doneCallback);
	};
	typedef RefPtr<PictManager> PictManagerPtr;
	
}
#endif // skyPict_h__